import Vue from 'vue';
import VueI18n from 'vue-i18n';
if (!window.sessionStorage.getItem('lang')) {
  window.sessionStorage.setItem('lang', 'zh');
}
Vue.config.lang = window.sessionStorage.getItem('lang');
// Vue.config.lang = "zh";

Vue.use(VueI18n);

var en = require('./en.json');
var zh = require('./zh.json');
let messages = {
  en: Object.assign(en),
  zh: Object.assign(zh)
};

let i18n = new VueI18n({
  locale: Vue.config.lang,
  fallbackLocale: 'en',
  messages
});

// let i18n = new VueI18n({
//   locale: 'zh',
//   messages: {
//     'en': require('./en.json'),
//     'zh': require('./zh.json')
//   }
// })

Vue.use({
  i18n: function(path, options) {
    let value = i18n.t(path, options);
    if (value !== null && value !== undefined) return value;
    return '';
  }
});

// if (module.hot) {
//   module.hot.accept(['./en.json', './zh.json'], () => {
//     i18n.setLocaleMessage('en', require('./en.json'))
//     i18n.setLocaleMessage('zh', require('./zh.json'))
//   })
// }

// if (module.hot) {
//   module.hot.accept(['./en.json', './zh.json'], () => {
//     Vue.locale('en', require('./en.json').default);
//     Vue.locale('ja', require('./zh.json').default);
//   });
// }

export default i18n;